home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 41 / Amiga Format CD41 (1999-06)(Future Publishing)(GB)[!][issue 1999-07].iso / -seriously_amiga- / misc / notes / deutsch / noten.pprx < prev    next >
Text File  |  1999-04-19  |  19KB  |  710 lines

  1. /*
  2. @B Noten V.1.4 @P@ICopyright A.Faust 99
  3. dieses Genie zeichnet Notenlinien und Noten
  4. */
  5.  
  6. /* History
  7.  
  8. Version 1.1. (2.2.99)
  9.    -einige Fehler in den #?.file Files beseitigt
  10.    -die Notation im Notenfile geändert
  11.     (wenn Auflösungszeichen - "a" - dann die gleiche
  12.      Notation in einer Zeile wie in allen anderen Fällen)
  13.  
  14. Version 1.2  (10.2.99)
  15.    -Fehler bei der Eingabe von B-Vorzeichen beseitigt (z.B."AB3")
  16.    -Vorzeichenroutine vereinfacht
  17.    -Möglichkeit für einfache Notenliniensysteme mit nur einem
  18.     Notenschlüssel (Bindfadenstimme)
  19.    -Zusammenfassung mehrerer Abfragen in einem Requester
  20.    -Erweiterung des Bereiches im Violinschlüssel
  21.  
  22. Version 1.3 (26.2.99)
  23.    -kleiner Fehler im "Baßschlüssel.rexx" (jede 2.Zeile wurde übersprungen
  24.     bei einzeiligen Notensystemen)
  25.    -Zusammenfassung Abfrage (Wiederholung Notensystem+kleinster Notenwert)
  26.    -unnötigen Vergrößerungssprung beseitigt
  27.    -erste Note der Zeile wird dynamisch in Abhängigkeit von der Zahl der
  28.     Vorzeichen gesetzt
  29. Version 1.4 (1.3.99)
  30.    -kleine Fehler beseitigt
  31. Version 1.5 (8.3.99)
  32.    -Möglichkeit des Verbindens von je 2 achtel oder sechzehntel Noten
  33.  
  34. */
  35.  
  36.  
  37. address command
  38.  
  39. 'execute C:AssignNotenDruck'
  40.  
  41.  
  42. /* Das File "AssignNotenDruck"  im C: Verzeichnis muß mit einem normalen
  43.    Texteditor erstellt werden, und legt fest, wo die Notenfiles
  44.    gespeichert sind. Das macht die Auswahl später einfacher.
  45.    Das Genie sucht zuerst im festgelegten Verzeichnis "Noten:"
  46.  
  47.    z.B.
  48.    assign Noten: Work:MeinNotenFileVerzeichnis
  49.  
  50.    Als zweite Zeile MUSS ein Assign für das Genie-Verzeichnis von Propage
  51.    gesetzt werden.
  52.  
  53.    z.B.
  54.    assign Genies: DTP:ProPage/ARexx
  55.  
  56. */
  57.  
  58. call SafeEndEdit.rexx()
  59. call ppm_AutoUpdate(0)
  60. call ppm_SetWireframe(0)
  61. notex=0
  62. notey=0
  63. call ppm_SetLineWeight(0.25)
  64. call ppm_SetMagMode(250)
  65. call ppm_SetBoxOutlines(0)
  66.  
  67. signal on halt
  68. signal on break_c
  69. signal on break_e
  70. signal on break_d
  71.  
  72.  
  73. start:
  74. do
  75.   neu = ppm_GetUserText(2, "Neubeginn? (ALLES WIRD GELÖSCHT !!!!) Nichts=ABBRUCH j/n")
  76.     if neu == "J" then neu = "j"
  77.     if neu == "N" then neu = "n"
  78.  
  79.   select
  80.     when neu == "j" then
  81.         do
  82.         sicher =
  83.         call ppm_New()
  84.         call ppm_SetUnits(2)
  85.         call ppm_SetMagMode(250)
  86.         call ppm_SetFont('(CG)Times')
  87.         pgnm = ppm_CreatePage(1, 1, 0)
  88.         call ppm_SetPageType(pgnm, 4)
  89.         call ppm_SetRulerType(4)
  90.         call ppm_SetBoxLock(0, 0)
  91.         call ppm_DeleteBox(0)
  92.  
  93.         /* Kopfzeile */
  94.  
  95.         haedln = ppm_CreateBox(4, 0.2, 11.5, 1.2, 0)
  96.         call ppm_SetSize(20)
  97.         call ppm_SetStyle(U)
  98.         call ppm_SetJustification(2)
  99.         call ppm_TextIntoBox(haedln, 'Text')
  100.         end
  101.     when neu == "n" then notenlinien()
  102.     otherwise exit_msg("ABBRUCH!")
  103.   end
  104.  
  105. notenlinien:
  106.   cr = '0a'x
  107.   form = "Notenlinien ?  (j/n):j"cr"2/1 System (2/1v/1b):2"cr"Vorzeichen  (1#=1 #):"cr"Taktart    (4/4=4 4):4 4"cr"V_iol/B_aß   [F_ile]:v"
  108.   eingabe = ppm_GetForm("Bitte eingeben ...             ", 5, form)
  109.   parse var eingabe res '0a'x systemart '0a'x vorz '0a'x takt '0a'x violbass
  110.   select
  111.     when systemart == '2' then NOP
  112.     when systemart == '1b' then NOP
  113.     when systemart == '1B' then systemart = '1b'
  114.     when systemart == '1v' then NOP
  115.     when systemart == '1V' then systemart = '1v'
  116.     otherwise exit_msg("Fehler in der Eingabe! ABBRUCH!!!")
  117.   end
  118.   if res == '' then res = 'j'
  119.   if res == 'J' then res = 'j'
  120.   if res == 'j' then
  121.   do
  122.  
  123.         call ppm_SetUnits(2)
  124.         call ppm_SetMagMode(250)
  125.         call ppm_SetFont('(CG)Times')
  126.         pgnm = ppm_CurrentPage()
  127.         call ppm_SetPageType(pgnm, 4)
  128.         call ppm_SetRulerType(4)
  129.         call ppm_SetBoxLock(0, 0)
  130.         call ppm_DeleteBox(0)
  131.  
  132.         /* Kopfzeile */
  133.  
  134.         haedln = ppm_CreateBox(4, 0.2, 11.5, 1.2, 0)
  135.         call ppm_SetSize(20)
  136.         call ppm_SetStyle(U)
  137.         call ppm_SetJustification(2)
  138.         call ppm_TextIntoBox(haedln, 'Titel')
  139.  
  140.         /* Autor */
  141.  
  142.         autor = ppm_CreateBox(13, 0.9, 6.5, 0.64, 0)
  143.         call ppm_SetSize(12)
  144.         call ppm_SetStyle(U)
  145.         call ppm_SetJustification(1)
  146.         call ppm_TextIntoBox(autor, "Satz: © Autor")
  147.  
  148.  
  149.      /* Notenlinien ziehen */
  150.  
  151.      do a=1 to 12
  152.        do b=1 to 5
  153.           call ppm_DrawLine(0, a*2+((b-1)/5), 19.5, a*2+((b-1)/5))
  154.        end
  155.      end
  156.  
  157.      /* Notenschlüssel und vordere Klammern */
  158.      if systemart == '1v' then
  159.      do
  160.         call ppm_SetFont('(CG)Noten')
  161.  
  162.         violschl = ppm_CreateBox(0, 1.55, 1, 1.6, 0)
  163.         call ppm_SetStyle(N)
  164.         call ppm_SetJustification(0)
  165.         call ppm_SetSize(45)
  166.         call ppm_TextIntoBox(violschl, 't')
  167.  
  168.         do c=1 to 11
  169.           call ppm_CloneBox(violschl, 0, (c*2))
  170.         end
  171.      end
  172.  
  173.      if systemart == '1b' then
  174.      do
  175.         call ppm_SetFont('(CG)Noten')
  176.  
  177.         bassschl = ppm_CreateBox(0.034, 1.88, 1.1, 1.1, 0)
  178.         call ppm_SetStyle(N)
  179.         call ppm_SetJustification(0)
  180.         call ppm_SetSize(30)
  181.         call ppm_TextIntoBox(bassschl, 'b')
  182.  
  183.         do c=1 to 11
  184.           call ppm_CloneBox(bassschl, 0, (c*2))
  185.         end
  186.      end
  187.  
  188.      if systemart == '2' then
  189.      do
  190.         call ppm_SetFont('(CG)Noten')
  191.  
  192.         violschl = ppm_CreateBox(0, 1.55, 1, 1.6, 0)
  193.         call ppm_SetStyle(N)
  194.         call ppm_SetJustification(0)
  195.         call ppm_SetSize(45)
  196.         call ppm_TextIntoBox(violschl, 't')
  197.  
  198.         bassschl = ppm_CreateBox(0.034, 3.88, 1.1, 1.1, 0)
  199.         call ppm_SetSize(30)
  200.         call ppm_TextIntoBox(bassschl, 'b')
  201.  
  202.         call ppm_SetLineWeight(4)
  203.         vl = ppm_DrawLine(0, 1.98, 0, 4.82)
  204.  
  205.         call ppm_SetLineWeight(2)
  206.         vo = ppm_DrawLine(-0.07, 2.08, 0.303, 1.7627)
  207.         vu = ppm_DrawLine(-0.07, 4.74, 0.303, 5.052)
  208.  
  209.         do c=1 to 5
  210.           call ppm_CloneBox(violschl, 0, (c*4))
  211.           call ppm_CloneBox(bassschl, 0, (c*4))
  212.           call ppm_CloneBox(vl, 0, (c*4))
  213.           call ppm_CloneBox(vo, 0, (c*4))
  214.           call ppm_CloneBox(vu, 0, (c*4))
  215.         end
  216.      end
  217.      vorzeichen()
  218.   end
  219.   else
  220.   do
  221.    if res == 'N' then res = 'n'
  222.    if res == 'n' then vorzeichen()
  223.    else start()
  224.   end
  225. end
  226.  
  227. noteneingabe:
  228.  if violbass == '' then exit_msg("Fehler in der Eingabe ! ABBRUCH !!!")
  229.  resa = word(violbass,1)
  230.  resb = word(violbass,2)
  231.  if resa=='V' then resa = 'v'
  232.  if resa=='B' then resa = 'b'
  233.  if resb=='F' then resb = 'f'
  234.  select
  235.    when resa=='v' then violschl()
  236.    when resa=='b' then basschl()
  237.    otherwise noteneingabe()
  238.  end
  239.  
  240. violschl:
  241.  do
  242.  call ppm_SetFont('(CG)Noten')
  243.  select
  244.     when resb='' then
  245.     do
  246.      address command
  247.      rx 'Genies:Violinenschlüssel.rexx'
  248.     end
  249.     when resb='f' then
  250.     do
  251.      address command
  252.      rx 'Genies:Violinenschlüssel.file'
  253.     end
  254.     otherwise noteneingabe()
  255.  end
  256.  exit
  257.  end
  258.  
  259. basschl:
  260.  do
  261.  call ppm_SetFont('(CG)Noten')
  262.  select
  263.     when resb='' then
  264.     do
  265.      address command
  266.      rx 'Genies:Bassschlüssel.rexx'
  267.     end
  268.     when resb='f' then
  269.     do
  270.      address command
  271.      rx 'Genies:Bassschlüssel.file'
  272.     end
  273.     otherwise noteneingabe()
  274.  end
  275.  exit
  276.  end
  277.  
  278. exit
  279.  
  280. vorzeichen:
  281.  
  282. if vorz == "" then
  283. do
  284.   k = 0
  285.   takt()
  286. end
  287.  
  288. else
  289. do
  290.    call ppm_SetFont('(CG)Noten')
  291.    call ppm_SetSize(20)
  292.    zahl = word(vorz, 1)
  293.    if zahl >6 then vorzeichen()
  294.    art  = word(vorz, 2)
  295.    if art == 'B' then art = 'b'
  296.    yy = 0.28
  297.    j = 0
  298.    k = zahl
  299.  select
  300.    when art == 'b' then
  301.    do
  302.    art = 'f'
  303.       if systemart == '2' then
  304.       do
  305.         do i=1 to 6
  306.            if zahl== 1 then
  307.              do
  308.                call vorzeichenbox 1, (1.95+j)
  309.                call vorzeichenbox 1, (4.15+j)
  310.              end
  311.  
  312.            if zahl == 2 then
  313.              do
  314.                call vorzeichenbox 1, (1.95+j)
  315.                call vorzeichenbox 1, (4.15+j)
  316.                call vorzeichenbox 1.2, (1.65+j)
  317.                call vorzeichenbox 1.2, (3.85+j)
  318.              end
  319.  
  320.            if zahl == 3 then
  321.              do
  322.                call vorzeichenbox 1, (1.95+j)
  323.                call vorzeichenbox 1, (4.15+j)
  324.                call vorzeichenbox 1.2, (1.65+j)
  325.                call vorzeichenbox 1.2, (3.85+j)
  326.                call vorzeichenbox 1.4, (2.05+j)
  327.                call vorzeichenbox 1.4, (4.25+j)
  328.              end
  329.  
  330.            if zahl == 4 then
  331.              do
  332.              call vorzeichenbox 1, (1.95+j)
  333.              call vorzeichenbox 1, (4.15+j)
  334.              call vorzeichenbox 1.2, (1.65+j)
  335.              call vorzeichenbox 1.2, (3.85+j)
  336.              call vorzeichenbox 1.4, (2.05+j)
  337.              call vorzeichenbox 1.4, (4.25+j)
  338.              call vorzeichenbox 1.6, (1.75+j)
  339.              call vorzeichenbox 1.6, (3.95+j)
  340.              end
  341.  
  342.            if zahl == 5 then
  343.              do
  344.              call vorzeichenbox 1, (1.95+j)
  345.              call vorzeichenbox 1, (4.15+j)
  346.              call vorzeichenbox 1.2, (1.65+j)
  347.              call vorzeichenbox 1.2, (3.85+j)
  348.              call vorzeichenbox 1.4, (2.05+j)
  349.              call vorzeichenbox 1.4, (4.25+j)
  350.              call vorzeichenbox 1.6, (1.75+j)
  351.              call vorzeichenbox 1.6, (3.95+j)
  352.              call vorzeichenbox 1.8, (2.15+j)
  353.              call vorzeichenbox 1.8, (4.35+j)
  354.              end
  355.  
  356.            if zahl == 6 then
  357.              do
  358.                call vorzeichenbox 1, (1.95+j)
  359.                call vorzeichenbox 1, (4.15+j)
  360.                call vorzeichenbox 1.2, (1.65+j)
  361.                call vorzeichenbox 1.2, (3.85+j)
  362.                call vorzeichenbox 1.4, (2.05+j)
  363.                call vorzeichenbox 1.4, (4.25+j)
  364.                call vorzeichenbox 1.6, (1.75+j)
  365.                call vorzeichenbox 1.6, (3.95+j)
  366.                call vorzeichenbox 1.8, (2.15+j)
  367.                call vorzeichenbox 1.8, (4.35+j)
  368.                call vorzeichenbox 2.0, (1.85+j)
  369.                call vorzeichenbox 2.0, (4.05+j)
  370.              end
  371.            j=j+4
  372.         end
  373.       end
  374.       if systemart == '1b' then
  375.       do
  376.         do i=1 to 12
  377.            if zahl== 1 then
  378.              do
  379.                call vorzeichenbox 1, (2.15+j)
  380.              end
  381.  
  382.            if zahl == 2 then
  383.              do
  384.                call vorzeichenbox 1, (2.15+j)
  385.                call vorzeichenbox 1.2, (1.85+j)
  386.              end
  387.  
  388.            if zahl == 3 then
  389.              do
  390.                call vorzeichenbox 1, (2.15+j)
  391.                call vorzeichenbox 1.2, (1.85+j)
  392.                call vorzeichenbox 1.4, (2.25+j)
  393.              end
  394.  
  395.            if zahl == 4 then
  396.              do
  397.                call vorzeichenbox 1, (2.15+j)
  398.                call vorzeichenbox 1.2, (1.85+j)
  399.                call vorzeichenbox 1.4, (2.25+j)
  400.                call vorzeichenbox 1.6, (1.95+j)
  401.              end
  402.  
  403.            if zahl == 5 then
  404.              do
  405.                call vorzeichenbox 1, (2.15+j)
  406.                call vorzeichenbox 1.2, (1.85+j)
  407.                call vorzeichenbox 1.4, (2.25+j)
  408.                call vorzeichenbox 1.6, (1.95+j)
  409.                call vorzeichenbox 1.8, (2.35+j)
  410.              end
  411.  
  412.            if zahl == 6 then
  413.              do
  414.                call vorzeichenbox 1, (2.15+j)
  415.                call vorzeichenbox 1.2, (1.85+j)
  416.                call vorzeichenbox 1.4, (2.25+j)
  417.                call vorzeichenbox 1.6, (1.95+j)
  418.                call vorzeichenbox 1.8, (2.35+j)
  419.                call vorzeichenbox 2.0, (2.05+j)
  420.              end
  421.            j=j+2
  422.         end
  423.       end
  424.       if systemart == '1v' then
  425.       do
  426.        do i=1 to 12
  427.           if zahl== 1 then
  428.             do
  429.               call vorzeichenbox 1, (1.95+j)
  430.             end
  431.  
  432.           if zahl == 2 then
  433.             do
  434.               call vorzeichenbox 1, (1.95+j)
  435.               call vorzeichenbox 1.2, (1.65+j)
  436.             end
  437.  
  438.           if zahl == 3 then
  439.             do
  440.               call vorzeichenbox 1, (1.95+j)
  441.               call vorzeichenbox 1.2, (1.65+j)
  442.               call vorzeichenbox 1.4, (2.05+j)
  443.             end
  444.  
  445.           if zahl == 4 then
  446.             do
  447.             call vorzeichenbox 1, (1.95+j)
  448.             call vorzeichenbox 1.2, (1.65+j)
  449.             call vorzeichenbox 1.4, (2.05+j)
  450.             call vorzeichenbox 1.6, (1.75+j)
  451.             end
  452.  
  453.           if zahl == 5 then
  454.             do
  455.             call vorzeichenbox 1, (1.95+j)
  456.             call vorzeichenbox 1.2, (1.65+j)
  457.             call vorzeichenbox 1.4, (2.05+j)
  458.             call vorzeichenbox 1.6, (1.75+j)
  459.             call vorzeichenbox 1.8, (2.15+j)
  460.             end
  461.  
  462.           if zahl == 6 then
  463.             do
  464.               call vorzeichenbox 1, (1.95+j)
  465.               call vorzeichenbox 1.2, (1.65+j)
  466.               call vorzeichenbox 1.4, (2.05+j)
  467.               call vorzeichenbox 1.6, (1.75+j)
  468.               call vorzeichenbox 1.8, (2.15+j)
  469.               call vorzeichenbox 2.0, (1.85+j)
  470.             end
  471.           j=j+2
  472.        end
  473.       end
  474.    end
  475.  
  476.    when art == '#' then
  477.    do
  478.    art = 's'
  479.        if systemart == '2' then
  480.        do
  481.          do i=1 to 6
  482.             if zahl == 1 then
  483.               do
  484.                 call vorzeichenbox 1, (1.67+j)
  485.                 call vorzeichenbox 1, (3.87+j)
  486.               end
  487.  
  488.             if zahl == 2 then
  489.               do
  490.                 call vorzeichenbox 1, (1.67+j)
  491.                 call vorzeichenbox 1, (3.87+j)
  492.                 call vorzeichenbox 1.2, (1.97+j)
  493.                 call vorzeichenbox 1.2, (4.17+j)
  494.               end
  495.  
  496.             if zahl == 3 then
  497.               do
  498.                 call vorzeichenbox 1, (1.67+j)
  499.                 call vorzeichenbox 1, (3.87+j)
  500.                 call vorzeichenbox 1.2, (1.97+j)
  501.                 call vorzeichenbox 1.2, (4.17+j)
  502.                 call vorzeichenbox 1.4, (1.57+j)
  503.                 call vorzeichenbox 1.4, (3.77+j)
  504.               end
  505.  
  506.             if zahl == 4 then
  507.               do
  508.                 call vorzeichenbox 1, (1.67+j)
  509.                 call vorzeichenbox 1, (3.87+j)
  510.                 call vorzeichenbox 1.2, (1.97+j)
  511.                 call vorzeichenbox 1.2, (4.17+j)
  512.                 call vorzeichenbox 1.4, (1.57+j)
  513.                 call vorzeichenbox 1.4, (3.77+j)
  514.                 call vorzeichenbox 1.6, (1.87+j)
  515.                 call vorzeichenbox 1.6, (4.07+j)
  516.               end
  517.  
  518.             if zahl == 5 then
  519.               do
  520.                 call vorzeichenbox 1, (1.67+j)
  521.                 call vorzeichenbox 1, (3.87+j)
  522.                 call vorzeichenbox 1.2, (1.97+j)
  523.                 call vorzeichenbox 1.2, (4.17+j)
  524.                 call vorzeichenbox 1.4, (1.57+j)
  525.                 call vorzeichenbox 1.4, (3.77+j)
  526.                 call vorzeichenbox 1.6, (1.87+j)
  527.                 call vorzeichenbox 1.6, (4.07+j)
  528.                 call vorzeichenbox 1.8, (2.17+j)
  529.                 call vorzeichenbox 1.8, (4.37+j)
  530.               end
  531.  
  532.             if zahl == 6 then
  533.               do
  534.                 call vorzeichenbox 1, (1.67+j)
  535.                 call vorzeichenbox 1, (3.87+j)
  536.                 call vorzeichenbox 1.2, (1.97+j)
  537.                 call vorzeichenbox 1.2, (4.17+j)
  538.                 call vorzeichenbox 1.4, (1.57+j)
  539.                 call vorzeichenbox 1.4, (3.77+j)
  540.                 call vorzeichenbox 1.6, (1.87+j)
  541.                 call vorzeichenbox 1.6, (4.07+j)
  542.                 call vorzeichenbox 1.8, (2.17+j)
  543.                 call vorzeichenbox 1.8, (4.37+j)
  544.                 call vorzeichenbox 2.0, (1.77+j)
  545.                 call vorzeichenbox 2.0, (3.97+j)
  546.               end
  547.             j=j+4
  548.          end
  549.        end
  550.        if systemart == '1b' then
  551.        do
  552.          do i=1 to 12
  553.             if zahl == 1 then
  554.               do
  555.                 call vorzeichenbox 1, (1.87+j)
  556.               end
  557.  
  558.             if zahl == 2 then
  559.               do
  560.                 call vorzeichenbox 1, (1.87+j)
  561.                 call vorzeichenbox 1.2, (2.17+j)
  562.               end
  563.  
  564.             if zahl == 3 then
  565.               do
  566.                 call vorzeichenbox 1, (1.87+j)
  567.                 call vorzeichenbox 1.2, (2.17+j)
  568.                 call vorzeichenbox 1.4, (1.77+j)
  569.               end
  570.  
  571.             if zahl == 4 then
  572.               do
  573.                 call vorzeichenbox 1, (1.87+j)
  574.                 call vorzeichenbox 1.2, (2.17+j)
  575.                 call vorzeichenbox 1.4, (1.77+j)
  576.                 call vorzeichenbox 1.6, (2.07+j)
  577.               end
  578.  
  579.             if zahl == 5 then
  580.               do
  581.                 call vorzeichenbox 1, (1.87+j)
  582.                 call vorzeichenbox 1.2, (2.17+j)
  583.                 call vorzeichenbox 1.4, (1.77+j)
  584.                 call vorzeichenbox 1.6, (2.07+j)
  585.                 call vorzeichenbox 1.8, (2.37+j)
  586.               end
  587.  
  588.             if zahl == 6 then
  589.               do
  590.                 call vorzeichenbox 1, (1.87+j)
  591.                 call vorzeichenbox 1.2, (2.17+j)
  592.                 call vorzeichenbox 1.4, (1.77+j)
  593.                 call vorzeichenbox 1.6, (2.07+j)
  594.                 call vorzeichenbox 1.8, (1.37+j)
  595.                 call vorzeichenbox 2.0, (2.97+j)
  596.               end
  597.             j=j+2
  598.          end
  599.        end
  600.        if systemart == '1v' then
  601.        do
  602.          do i=1 to 12
  603.             if zahl == 1 then
  604.               do
  605.                 call vorzeichenbox 1, (1.67+j)
  606.               end
  607.  
  608.             if zahl == 2 then
  609.               do
  610.                 call vorzeichenbox 1, (1.67+j)
  611.                 call vorzeichenbox 1.2, (1.97+j)
  612.               end
  613.  
  614.             if zahl == 3 then
  615.               do
  616.                 call vorzeichenbox 1, (1.67+j)
  617.                 call vorzeichenbox 1.2, (1.97+j)
  618.                 call vorzeichenbox 1.4, (1.57+j)
  619.               end
  620.  
  621.             if zahl == 4 then
  622.               do
  623.                 call vorzeichenbox 1, (1.67+j)
  624.                 call vorzeichenbox 1.2, (1.97+j)
  625.                 call vorzeichenbox 1.4, (1.57+j)
  626.                 call vorzeichenbox 1.6, (1.87+j)
  627.               end
  628.  
  629.             if zahl == 5 then
  630.               do
  631.                 call vorzeichenbox 1, (1.67+j)
  632.                 call vorzeichenbox 1.2, (1.97+j)
  633.                 call vorzeichenbox 1.4, (1.57+j)
  634.                 call vorzeichenbox 1.6, (1.87+j)
  635.                 call vorzeichenbox 1.8, (2.17+j)
  636.               end
  637.  
  638.             if zahl == 6 then
  639.               do
  640.                 call vorzeichenbox 1, (1.67+j)
  641.                 call vorzeichenbox 1.2, (1.97+j)
  642.                 call vorzeichenbox 1.4, (1.57+j)
  643.                 call vorzeichenbox 1.6, (1.87+j)
  644.                 call vorzeichenbox 1.8, (2.17+j)
  645.                 call vorzeichenbox 2.0, (1.77+j)
  646.               end
  647.             j=j+2
  648.          end
  649.        end
  650.    end
  651.    otherwise exit_msg("Fehler in der Eingabe! ABBRUCH !!!")
  652.  end
  653. takt()
  654. end
  655.  
  656. takt:
  657. do
  658.  call ppm_SetFont('(CG)Times')
  659.  call ppm_SetSize(16)
  660.  
  661.  if takt ~= '' then
  662.   do
  663.    oben  = WORD(takt, 1)
  664.    unten = WORD(takt, 2)
  665.    if unten == '' then exit_msg("Fehler in der Eingabe! ABBRUCH !!!")
  666.    id = ppm_CreateBox(1.15+(k*0.2), 2,  0.3, 0.6, 0)
  667.    call ppm_TextIntoBox(id, oben)
  668.    id = ppm_CreateBox(1.15+(k*0.2), 2.4,  0.3, 0.6, 0)
  669.    call ppm_TextIntoBox(id, unten)
  670.    if systemart == '2' then
  671.      do
  672.        id = ppm_CreateBox(1.15+(k*0.2), 4,  0.3, 0.6, 0)
  673.        call ppm_TextIntoBox(id, oben)
  674.        id = ppm_CreateBox(1.15+(k*0.2), 4.4,  0.3, 0.6, 0)
  675.        call ppm_TextIntoBox(id, unten)
  676.      end
  677.   end
  678.  else NOP
  679.  call ppm_SetFont('(CG)Noten')
  680.  call ppm_SetSize(20)
  681.  noteneingabe()
  682. end
  683.  
  684. vorzeichenbox:
  685. do
  686.     parse arg bx,by
  687.     id = ppm_CreateBox(bx, by,  0.35, 0.75, 0)
  688.     call ppm_TextIntoBox(id, art)
  689. return
  690. end
  691.  
  692. break_d:
  693. break_e:
  694. break_c:
  695. halt:
  696.     call exit_msg("User aborted Genie!")
  697.  
  698. exit_msg: procedure
  699. do
  700.     parse arg message
  701.  
  702.     if message ~= '' then
  703.     call ppm_Inform(1,message,)
  704.  
  705.     call ppm_ClearStatus()
  706.     call ppm_AutoUpdate(1)
  707.     exit
  708. end
  709.  
  710.